package fr.afcepf.ai85.ent;

// Generated 21 mars 2013 17:20:56 by Hibernate Tools 3.4.0.CR1

import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * Eleve generated by hbm2java
 */
@Entity
@Table(name = "eleve", catalog = "gepeto_db")
public class Eleve implements java.io.Serializable {

	private Integer idEleve;
	private Connexion connexion;
	private String nomEnfant;
	private String prenomEnfant;
	private Date dateDeNaissance;
	private boolean sexeMasculin;
	private String allergie;
	private String vaccins;
	private String commentaireEleve;
	private Set<InscriptionEcole> inscriptionEcoles = new HashSet<InscriptionEcole>(
			0);
	private Set<MessageEnvoye> messageEnvoyes = new HashSet<MessageEnvoye>(0);
	private Set<MessageRecu> messageRecus = new HashSet<MessageRecu>(0);
	private Set<Representation> representations = new HashSet<Representation>(0);
	private Set<InformationsQf> informationsQfs = new HashSet<InformationsQf>(0);
	private Set<InscriptionPeriscolaire> inscriptionPeriscolaires = new HashSet<InscriptionPeriscolaire>(
			0);
	private Set<DocumentsNumerises> documentsNumeriseses = new HashSet<DocumentsNumerises>(
			0);
	private Set<DateAbsencePointage> dateAbsencePointages = new HashSet<DateAbsencePointage>(
			0);

	public Eleve() {
	}

	public Eleve(Connexion connexion, String nomEnfant, String prenomEnfant,
			Date dateDeNaissance, boolean sexeMasculin) {
		this.connexion = connexion;
		this.nomEnfant = nomEnfant;
		this.prenomEnfant = prenomEnfant;
		this.dateDeNaissance = dateDeNaissance;
		this.sexeMasculin = sexeMasculin;
	}

	public Eleve(Connexion connexion, String nomEnfant, String prenomEnfant,
			Date dateDeNaissance, boolean sexeMasculin, String allergie,
			String vaccins, String commentaireEleve,
			Set<InscriptionEcole> inscriptionEcoles,
			Set<MessageEnvoye> messageEnvoyes, Set<MessageRecu> messageRecus,
			Set<Representation> representations,
			Set<InformationsQf> informationsQfs,
			Set<InscriptionPeriscolaire> inscriptionPeriscolaires,
			Set<DocumentsNumerises> documentsNumeriseses,
			Set<DateAbsencePointage> dateAbsencePointages) {
		this.connexion = connexion;
		this.nomEnfant = nomEnfant;
		this.prenomEnfant = prenomEnfant;
		this.dateDeNaissance = dateDeNaissance;
		this.sexeMasculin = sexeMasculin;
		this.allergie = allergie;
		this.vaccins = vaccins;
		this.commentaireEleve = commentaireEleve;
		this.inscriptionEcoles = inscriptionEcoles;
		this.messageEnvoyes = messageEnvoyes;
		this.messageRecus = messageRecus;
		this.representations = representations;
		this.informationsQfs = informationsQfs;
		this.inscriptionPeriscolaires = inscriptionPeriscolaires;
		this.documentsNumeriseses = documentsNumeriseses;
		this.dateAbsencePointages = dateAbsencePointages;
	}

	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "ID_ELEVE", unique = true, nullable = false)
	public Integer getIdEleve() {
		return this.idEleve;
	}

	public void setIdEleve(Integer idEleve) {
		this.idEleve = idEleve;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "ID_CONNEXION", nullable = false)
	public Connexion getConnexion() {
		return this.connexion;
	}

	public void setConnexion(Connexion connexion) {
		this.connexion = connexion;
	}

	@Column(name = "NOM_ENFANT", nullable = false, length = 50)
	public String getNomEnfant() {
		return this.nomEnfant;
	}

	public void setNomEnfant(String nomEnfant) {
		this.nomEnfant = nomEnfant;
	}

	@Column(name = "PRENOM_ENFANT", nullable = false, length = 50)
	public String getPrenomEnfant() {
		return this.prenomEnfant;
	}

	public void setPrenomEnfant(String prenomEnfant) {
		this.prenomEnfant = prenomEnfant;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "DATE_DE_NAISSANCE", nullable = false, length = 10)
	public Date getDateDeNaissance() {
		return this.dateDeNaissance;
	}

	public void setDateDeNaissance(Date dateDeNaissance) {
		this.dateDeNaissance = dateDeNaissance;
	}

	@Column(name = "SEXE_MASCULIN", nullable = false)
	public boolean isSexeMasculin() {
		return this.sexeMasculin;
	}

	public void setSexeMasculin(boolean sexeMasculin) {
		this.sexeMasculin = sexeMasculin;
	}

	@Column(name = "ALLERGIE", length = 80)
	public String getAllergie() {
		return this.allergie;
	}

	public void setAllergie(String allergie) {
		this.allergie = allergie;
	}

	@Column(name = "VACCINS", length = 250)
	public String getVaccins() {
		return this.vaccins;
	}

	public void setVaccins(String vaccins) {
		this.vaccins = vaccins;
	}

	@Column(name = "COMMENTAIRE_ELEVE", length = 256)
	public String getCommentaireEleve() {
		return this.commentaireEleve;
	}

	public void setCommentaireEleve(String commentaireEleve) {
		this.commentaireEleve = commentaireEleve;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "eleve")
	public Set<InscriptionEcole> getInscriptionEcoles() {
		return this.inscriptionEcoles;
	}

	public void setInscriptionEcoles(Set<InscriptionEcole> inscriptionEcoles) {
		this.inscriptionEcoles = inscriptionEcoles;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "eleve")
	public Set<MessageEnvoye> getMessageEnvoyes() {
		return this.messageEnvoyes;
	}

	public void setMessageEnvoyes(Set<MessageEnvoye> messageEnvoyes) {
		this.messageEnvoyes = messageEnvoyes;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "eleve")
	public Set<MessageRecu> getMessageRecus() {
		return this.messageRecus;
	}

	public void setMessageRecus(Set<MessageRecu> messageRecus) {
		this.messageRecus = messageRecus;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "eleve")
	public Set<Representation> getRepresentations() {
		return this.representations;
	}

	public void setRepresentations(Set<Representation> representations) {
		this.representations = representations;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "eleve")
	public Set<InformationsQf> getInformationsQfs() {
		return this.informationsQfs;
	}

	public void setInformationsQfs(Set<InformationsQf> informationsQfs) {
		this.informationsQfs = informationsQfs;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "eleve")
	public Set<InscriptionPeriscolaire> getInscriptionPeriscolaires() {
		return this.inscriptionPeriscolaires;
	}

	public void setInscriptionPeriscolaires(
			Set<InscriptionPeriscolaire> inscriptionPeriscolaires) {
		this.inscriptionPeriscolaires = inscriptionPeriscolaires;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "eleve")
	public Set<DocumentsNumerises> getDocumentsNumeriseses() {
		return this.documentsNumeriseses;
	}

	public void setDocumentsNumeriseses(
			Set<DocumentsNumerises> documentsNumeriseses) {
		this.documentsNumeriseses = documentsNumeriseses;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "eleve")
	public Set<DateAbsencePointage> getDateAbsencePointages() {
		return this.dateAbsencePointages;
	}

	public void setDateAbsencePointages(
			Set<DateAbsencePointage> dateAbsencePointages) {
		this.dateAbsencePointages = dateAbsencePointages;
	}

}
